<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content=
    "application/xhtml+xml; charset=iso-8859-1" />
    <title>
      Cairo-1.17.2+f93fc72c03e
    </title>
    <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="stylesheet" href="../stylesheets/lfs-print.css" type=
    "text/css" media="print" />
  </head>
  <body class="blfs" id="blfs-2020-04-02">
    <div class="navheader">
      <h4>
        Beyond Linux<sup>�</sup> From Scratch <span class="phrase">(System
        V</span> Edition) - Version 2020-04-02
      </h4>
      <h3>
        Chapter&nbsp;25.&nbsp;X Libraries
      </h3>
      <ul>
        <li class="prev">
          <a accesskey="p" href="at-spi2-atk.html" title=
          "at-spi2-atk-2.34.2">Prev</a>
          <p>
            at-spi2-atk-2.34.2
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="cairomm.html" title=
          "Cairomm-1.12.2">Next</a>
          <p>
            Cairomm-1.12.2
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="lib.html" title=
          "Chapter&nbsp;25.&nbsp;X Libraries">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 2020-04-02">
          Home</a>
        </li>
      </ul>
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <h1 class="sect1">
        <a id="cairo" name="cairo"></a>Cairo-1.17.2+f93fc72c03e
      </h1>
      <div class="package" lang="en" xml:lang="en">
        <h2 class="sect2">
          Introduction to Cairo
        </h2>
        <p>
          <span class="application">Cairo</span> is a 2D graphics library
          with support for multiple output devices. Currently supported
          output targets include the <span class="application">X</span>
          Window System, win32, image buffers, PostScript, PDF and SVG.
          Experimental backends include OpenGL, Quartz and XCB file output.
          <span class="application">Cairo</span> is designed to produce
          consistent output on all output media while taking advantage of
          display hardware acceleration when available (e.g., through the X
          Render Extension). The <span class="application">Cairo</span> API
          provides operations similar to the drawing operators of PostScript
          and PDF. Operations in <span class="application">Cairo</span>
          include stroking and filling cubic B�zier splines, transforming and
          compositing translucent images, and antialiased text rendering. All
          drawing operations can be transformed by any <a class="ulink" href=
          "http://en.wikipedia.org/wiki/Affine_transformation">affine
          transformation</a> (scale, rotation, shear, etc.).
        </p>
        <p>
          This package is known to build and work properly using an LFS-9.1
          platform.
        </p>
        <h3>
          Package Information
        </h3>
        <div class="itemizedlist">
          <ul class="compact">
            <li class="listitem">
              <p>
                Download (HTTP): <a class="ulink" href=
                "http://anduin.linuxfromscratch.org/BLFS/cairo/cairo-1.17.2+f93fc72c03e.tar.xz">
                http://anduin.linuxfromscratch.org/BLFS/cairo/cairo-1.17.2+f93fc72c03e.tar.xz</a>
              </p>
            </li>
            <li class="listitem">
              <p>
                Download MD5 sum: 23a9420780f74ad0ca1e9885e53ee022
              </p>
            </li>
            <li class="listitem">
              <p>
                Download size: 40 MB
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated disk space required: 148 MB
              </p>
            </li>
            <li class="listitem">
              <p>
                Estimated build time: 0.9 SBU
              </p>
            </li>
          </ul>
        </div>
        <h3>
          Cairo Dependencies
        </h3>
        <h4>
          Required
        </h4>
        <p class="required">
          <a class="xref" href="../general/libpng.html" title=
          "libpng-1.6.37">libpng-1.6.37</a> and <a class="xref" href=
          "../general/pixman.html" title="Pixman-0.38.4">Pixman-0.38.4</a>
        </p>
        <h4>
          Recommended
        </h4>
        <p class="recommended">
          <a class="xref" href="../general/fontconfig.html" title=
          "Fontconfig-2.13.1">Fontconfig-2.13.1</a>, <a class="xref" href=
          "../general/glib2.html" title="GLib-2.64.1">GLib-2.64.1</a>
          (required for most GUIs) and <a class="xref" href="x7lib.html"
          title="Xorg Libraries">Xorg Libraries</a>
        </p>
        <h4>
          Optional
        </h4>
        <p class="optional">
          <a class="xref" href="cogl.html" title=
          "Cogl-1.22.6">Cogl-1.22.6</a>, <a class="xref" href=
          "../pst/gs.html" title="ghostscript-9.52">ghostscript-9.52</a>,
          <a class="xref" href="gtk3.html" title=
          "GTK+-3.24.16">GTK+-3.24.16</a> and <a class="xref" href=
          "gtk2.html" title="GTK+-2.24.32">GTK+-2.24.32</a>, <a class="xref"
          href="../general/gtk-doc.html" title=
          "GTK-Doc-1.32">GTK-Doc-1.32</a>, <a class="xref" href="libdrm.html"
          title="libdrm-2.4.100">libdrm-2.4.100</a>, <a class="xref" href=
          "../general/librsvg.html" title=
          "librsvg-2.48.2">librsvg-2.48.2</a>, <a class="xref" href=
          "../general/libxml2.html" title=
          "libxml2-2.9.10">libxml2-2.9.10</a>, <a class="xref" href=
          "../general/lzo.html" title="LZO-2.10">LZO-2.10</a>, <a class=
          "xref" href="mesa.html" title="Mesa-20.0.2">Mesa-20.0.2</a>,
          <a class="xref" href="../general/poppler.html" title=
          "Poppler-0.87.0">Poppler-0.87.0</a>, <a class="xref" href=
          "qt5.html" title="Qt-5.14.1">Qt-5.14.1</a>, <a class="xref" href=
          "../general/valgrind.html" title=
          "Valgrind-3.15.0">Valgrind-3.15.0</a>, <a class="ulink" href=
          "http://pkgs.fedoraproject.org/repo/pkgs/directfb/">DirectFB</a>,
          <a class="ulink" href=
          "https://github.com/rillian/jbig2dec/">jbig2dec</a>, <a class=
          "ulink" href=
          "https://www.freedesktop.org/wiki/Software/libspectre/">libspectre</a>,
          <a class="ulink" href="https://skia.org/">Skia</a>, and <a class=
          "ulink" href="http://download.qt.io/archive/qt/4.8/">Qt4</a>.
        </p>
        <div class="admon note">
          <img alt="[Note]" src="../images/note.png" />
          <h3>
            Note
          </h3>
          <p>
            There is a circular dependency between cairo and harfbuzz. If
            cairo is built before harfbuzz, it is necessary to rebuild cairo
            after harfbuzz in order to build pango.
          </p>
        </div>
        <p class="usernotes">
          User Notes: <a class="ulink" href=
          "http://wiki.linuxfromscratch.org/blfs/wiki/cairo">http://wiki.linuxfromscratch.org/blfs/wiki/cairo</a>
        </p>
      </div>
      <div class="installation" lang="en" xml:lang="en">
        <h2 class="sect2">
          Installation of Cairo
        </h2>
        <p>
          Install <span class="application">Cairo</span> by running the
          following commands:
        </p>
        <pre class="userinput">
<kbd class="command">./configure --prefix=/usr    \
            --disable-static \
            --enable-tee &amp;&amp;
make</kbd>
</pre>
        <p>
          This package does not have a working testsuite.
        </p>
        <p>
          Now, as the <code class="systemitem">root</code> user:
        </p>
        <pre class="root">
<kbd class="command">make install</kbd>
</pre>
      </div>
      <div class="commands" lang="en" xml:lang="en">
        <h2 class="sect2">
          Command Explanations
        </h2>
        <p>
          <em class="parameter"><code>--enable-tee</code></em>: This switch
          enables the experimental tee surface backend which is required if
          using system-installed <span class="application">Cairo</span> with
          Mozilla applications.
        </p>
        <p>
          <em class="parameter"><code>--disable-static</code></em>: This
          switch prevents installation of static versions of the libraries.
        </p>
        <p>
          <code class="option">--enable-xlib-xcb</code>: This switch enables
          several experimental Xlib/XCB functions used by some window
          managers. Note that using this option will break some applications
          such as <a class="xref" href="../xsoft/epiphany.html" title=
          "Epiphany-3.36.1">Epiphany-3.36.1</a>.
        </p>
        <p>
          <code class="option">--enable-gl</code>: This switch enables
          <span class="application">Cairo</span>'s experimental <span class=
          "application">OpenGL</span> surface which is required for
          <span class="application">Wayland</span> compositor and some other
          packages that are not part of BLFS.
        </p>
        <p>
          <code class="option">--enable-gtk-doc</code>: Use this parameter if
          <span class="application">GTK-Doc</span> is installed and you wish
          to rebuild and install the API documentation.
        </p>
      </div>
      <div class="content" lang="en" xml:lang="en">
        <h2 class="sect2">
          Contents
        </h2>
        <div class="segmentedlist">
          <div class="seglistitem">
            <div class="seg">
              <strong class="segtitle">Installed Programs:</strong>
              <span class="segbody">cairo-sphinx and cairo-trace</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Libraries:</strong>
              <span class="segbody">libcairo.so, libcairo-gobject.so and
              libcairo-script-interpreter.so</span>
            </div>
            <div class="seg">
              <strong class="segtitle">Installed Directories:</strong>
              <span class=
              "segbody">/usr/{include,lib,share/gtk-doc/html}/cairo</span>
            </div>
          </div>
        </div>
        <div class="variablelist">
          <h3>
            Short Descriptions
          </h3>
          <table border="0" class="variablelist">
            <colgroup>
              <col align="left" valign="top" />
              <col />
            </colgroup>
            <tbody>
              <tr>
                <td>
                  <p>
                    <a id="cairo-sphinx" name="cairo-sphinx"></a><span class=
                    "term"><span class=
                    "command"><strong>cairo-sphinx</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    is an internal utility for regression analysis.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="cairo-trace" name="cairo-trace"></a><span class=
                    "term"><span class=
                    "command"><strong>cairo-trace</strong></span></span>
                  </p>
                </td>
                <td>
                  <p>
                    generates a log of all calls made by an application to
                    <span class="application">Cairo</span>.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="libcairo" name="libcairo"></a><span class=
                    "term"><code class="filename">libcairo.so</code></span>
                  </p>
                </td>
                <td>
                  <p>
                    contains the 2D graphics functions required for rendering
                    to the various output targets.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="libcairo-gobject" name=
                    "libcairo-gobject"></a><span class="term"><code class=
                    "filename">libcairo-gobject.so</code></span>
                  </p>
                </td>
                <td>
                  <p>
                    contains functions that integrate <span class=
                    "application">Cairo</span> with <span class=
                    "application">Glib</span>'s GObject type system.
                  </p>
                </td>
              </tr>
              <tr>
                <td>
                  <p>
                    <a id="libcairo-script-interpreter" name=
                    "libcairo-script-interpreter"></a><span class=
                    "term"><code class=
                    "filename">libcairo-script-interpreter.so</code></span>
                  </p>
                </td>
                <td>
                  <p>
                    contains the script interpreter functions for executing
                    and manipulating <span class="application">Cairo</span>
                    execution traces.
                  </p>
                </td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      <p class="updated">
        Last updated on 2020-03-30 11:41:53 -0500
      </p>
    </div>
    <div class="navfooter">
      <ul>
        <li class="prev">
          <a accesskey="p" href="at-spi2-atk.html" title=
          "at-spi2-atk-2.34.2">Prev</a>
          <p>
            at-spi2-atk-2.34.2
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="cairomm.html" title=
          "Cairomm-1.12.2">Next</a>
          <p>
            Cairomm-1.12.2
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="lib.html" title=
          "Chapter&nbsp;25.&nbsp;X Libraries">Up</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Beyond Linux� From Scratch     (System V Edition) - Version 2020-04-02">
          Home</a>
        </li>
      </ul>
    </div>
  </body>
</html>
